home *** CD-ROM | disk | FTP | other *** search
/ Floppyshop 2 / Floppyshop - 2.zip / Floppyshop - 2.iso / diskmags / 0022-3.564 / dmg-0097 / nutworks.08 < prev    next >
Text File  |  1997-04-16  |  48KB  |  1,033 lines

  1. ********************************************************************
  2. ********************************************************************
  3. ***                                                              ***
  4. ***                                                              ***
  5. ***                           NutWorks                           ***
  6. ***                          ----------                          ***
  7. ***          The Inter-Net Virtual Magazine Which States         ***
  8. ***                 That Reality Is For People                   ***
  9. ***                   Who Can't Handle Drugs.                    ***
  10. ***                                                              ***
  11. ***       December, 1985.  Issue008, (Volume II, Number 4).      ***
  12. ***                                                              ***
  13. ********************************************************************
  14. ********************************************************************
  15.  
  16.                           From the Bridge
  17.                           ===============
  18.  
  19. Captains Log:
  20. Stardate 850212
  21. Commander Spock Reporting.
  22.                                    *
  23.                                *  * *  *
  24.                                 **   **
  25.                                 **   **
  26.                                *  * *  *
  27.                                    *
  28.                                   / \
  29.                                  /   \
  30.           Seasons             *--     --*                Happy
  31.                                \       /
  32.                                /       \
  33.                               /         \
  34.          Greetings          *--        --*                New
  35.                              /          \
  36.                             /            \
  37.                            /              \
  38.            and           *--             --*             Year
  39.                           /               \
  40.                          /                 \
  41.                         /                   \
  42.                        /                     \
  43.                      *-------------------------*
  44.                                |     |
  45.                                |     |
  46.                                -------
  47.  
  48.                        From The NutWorks Staff
  49.  
  50. ------------------------------------------------------------------------
  51.  
  52.                             NutWorks News
  53.                             =============
  54.  
  55.    1) The NutWorks Staff hopes everyone had a great Thanksgiving weekend
  56. and also hopes that everyone is not still suffering from turkeyitis.
  57.  
  58. Note: Turkeyitis is a disease most common around Thanksgiving time where
  59. one makes a large  turkey for company and winds up eating the  leftovers
  60. for the next several days (in really bad cases weeks) afterward.
  61.  
  62.    2) (Outdated material deleted.)
  63.  
  64. ------------------------------------------------------------------------
  65.  
  66.                              A Day Off
  67.                              =========
  68.  
  69.                      So, you want the day off ???
  70.                      Let's take a  moment to look
  71.                      at what you are  asking for.
  72.  
  73.          1      There  are 365  days available  for work.
  74.  
  75.          2      There  are  52 weeks  per year  of  which
  76.                 you already have 2 days off each weekend,
  77.                 leaving 261 days left available for work.
  78.  
  79.          3      Since you  spend  16  hours each day away
  80.                 from  work that  accounts for  170  days.
  81.                 There are 91 left available for work.
  82.  
  83.          4      You spend  30  minutes each day on breaks
  84.                 that accounts for 23 days a year, leaving
  85.                 68 days available for work.
  86.  
  87.          5      You spend  1  hour a  day at lunch,  that
  88.                 that accounts  for another  46  days  per
  89.                 year leaving 22 days available for work.
  90.  
  91.          6      You spend  2 days per year on sick leave,
  92.                 leaving 20 days available for work.
  93.  
  94.          7      You take  9  holidays  per year,  leaving
  95.                 11 days available for work.
  96.  
  97.          8      You take  10  days  vacation  each  year,
  98.                 leaving 1 day left available for work.
  99.  
  100.                            ---  NO WAY  ---
  101.  
  102.                    Are you going to take THAT day off.
  103.  
  104.         Let's take a moment to look at what you are asking for...
  105.  
  106.  
  107. ------------------------------------------------------------------------
  108.  
  109.      Hi there!  With Christmas about to sneak upon us, I though that
  110. this  article may  be of interest to us NUTWORKS readers.  This  was
  111. originally  published  in the 12/19/83 issue of COMPUTERWORLD and is
  112. written by Richard Carter of Stone & Webster in Boston, MASS.
  113. (Contributed by  KHAAV @ ASUACAD)
  114.  
  115.  
  116. 'Twas the week before Christmas         He was not very tall
  117.    And all thru Tech. Supp.                And more chubby than thin;
  118. Not a phone bell was ringing,           His nose matched his clothes
  119.    Not a system was up                     And his face wore a grin.
  120. My keyboard was silent                  He set right to work
  121.    In a 'NOT POLLING' state;               Knowing just what to do
  122. I had a blank screen                    And he didn't stop once
  123.    On my 3278.                             Until he was through.
  124. The manuals were sitting                He pulled from the units
  125.    Straight up on the shelves              The strangest of things,
  126. In hope they'd be stolen                From four calling birds
  127.    By demented, old elves.                 To five golden rings.
  128. And I in my office,                     He cast out the items,
  129.    My face in my hand,                     Piece after piece,
  130. Had just blown the system               And one of us fainted
  131.    With an 'SPQ COMMAND.'                  When he pulled out six geese.
  132. The users were roaming                  He said not a word.
  133.    Outside near their bins,                Except for some griping
  134. Gazing thru windows                     'Cause he had to extract
  135.    At the system within.                   Seven pipers piping.
  136. They saw thru the glass                 He gave out a groan
  137.    What a programmer dreads:               And removed his black gloves,
  138. The printers were ripping               Then reached right inside
  139.    Their output to shreds.                 And removed two squashed doves.
  140. The console was blurred                 Debris filled the room
  141.    By vague moving shapes                  Right up to the doors
  142. While tape drives digested              'Till he slammed shut the units
  143.    Some Master-Files tapes.                And said "It's all yours!"
  144. Operations was frantic                  We looked at each other
  145.    And Systems was screaming:              And said, "What the hell?"
  146. "Our CE's at lunch,                     Then pushed the blue button
  147.    (Or off somewhere dreaming)."           That said "IPL."
  148. The management came                     We heard a few clicks,
  149.    And learned of our fate                 A groan and a glupp,
  150. Once again caught                       And wouldn't you know,
  151.    In a Downtime Stalemate.                The damn thing came up.
  152. "What can we do?"                       The FE just stood there
  153.    One boss moaned in stress.              with a smile on his face.
  154. "I wish we had someone                  As fix-it men go,
  155.    To fix up this mess."                   This guy was an ace.
  156. Then all of a sudden                    He packed up his tools
  157.    From outside the door                   And mounted his sleigh,
  158. We heard a great crash                  Stuck his thumb to his nose
  159.    And dived for the floor.                And went on his way.
  160. And then to our eyes                    We watched as he flew
  161.    Appeared a great sled                   Off into the night
  162. And inside, an FE                       Until in the dark
  163.    (Who was dressed in all red).           He vanished from sight.
  164. He was covered with ink                 Yet we heard him exclaim
  165.    From his head to his toe                And it was sort of dim,
  166. And commented loudly                    "MERRY CHRISTMAS TO ALL,
  167.    "I wish it were snow."                  But don't call again."
  168.  
  169. ------------------------------------------------------------------------
  170.  
  171.                 BABBAGE --- the language of the future
  172.                 ======================================
  173.              Copied from Rensselaer Polytechnic Institute
  174.                             by Tim McDonough
  175.                        (NU099138@NDSUVM1.BITNET)
  176.  
  177.  
  178.         There are few things in this business that  are more fun  than
  179.    designing a new computer language, and the very latest is ADA - the
  180.    Department of Defense's new supertoy.  ADA,  as you know,  has been
  181.    designed to replace  outmoded and obsolete  languages such as COBOL
  182.    and fortran.
  183.  
  184.         The problem is that this cycle takes 20 to 30 years and  won't
  185.    start  until  we're really  convinced  present languages aren't any
  186.    good. We can  short-circuit  this  process  by  starting  on  ADA's
  187.    replacement right now. Then, by the time we decide ada is obsolete,
  188.    its replacement will be ready.
  189.  
  190.         The new generation of language  designers has  taken to naming
  191.    its brian children after  real people  rather than resorting to the
  192.    usual acronyms.   Pascal is named after the first person to build a
  193.    calculating  machine and  ADA  is named  after the  first  computer
  194.    programmer.  As our namesake, we chose charles babbage, who died in
  195.    poverty while trying to finish building the first computer. The new
  196.    language is thus named after the first  systems designer to go over
  197.    budget and behind schedule.
  198.  
  199.         Babbage is based on  language elements  that  were  discovered
  200.    after the design of ADA was completed.  For instance, C.A.R. Hoare,
  201.    in  his  1980  ACM  Turing  Award  lecture,  told  of two  ways  of
  202.    constructing a software design:
  203.  
  204.       "One way is to make it so simple that there are obviously no
  205.        deficiencies and the other way is to make it so complicated
  206.        that there are no obvious deficiencies."
  207.  
  208.    The  designers  of  Babbage  have  chosen  a third  alternative - a
  209.    language that has only obvious deficiencies.   Babbage programs are
  210.    so unreliable that maintenace  can begin  before system integration
  211.    is completed.   This guarantees  a steady increase in the debug job
  212.    marketplace.
  213.  
  214.         Like Pascal, ADA uses  "strong typing"  to avoid errors caused
  215.    by mixing data types.   The designers of  Babbage  advocated  "good
  216.    typing"  to avoid errors caused by  misspelling  the words  in your
  217.    program. Later versions of Babbage will also allow  "touch typing",
  218.    which will fill a long-felt need.
  219.  
  220.         A hotly contested issue among language designers is the method
  221.    for passing  parameters  to subfunctions.   Some advocate  "call by
  222.    name",  others prefer  "call by value".   Babbage uses a new method
  223.    "call by telephone". This is especially effective for long-distance
  224.    parameter passing.
  225.  
  226.         ADA  stresses the  concept of  software portability.   Babbage
  227.    encourage hardware portability. After all,  what good is a computer
  228.    if you can't take it with you?
  229.  
  230.         It's  a  good  sign  if  your  language  is  sponsored  by the
  231.    government.  COBOL had government backing,  and ADA is being funded
  232.    by the department of defense. After much negotiation, The department
  233.    of sanitation has agreed to sponsor Babbage.
  234.  
  235.         No subsets of ADA are allowed.   Babbage is just the opposite.
  236.    None of  Babbage is  defined  except its extensibility -  each user
  237.    must define his own version.   To end the debate of large languages
  238.    versus small,  Babbage allows  each user  to make  the language any
  239.    size  he wants.   Babbage  is  the  ideal  language  for  the  "ME"
  240.    generation.   The examples that follow  will give some idea of what
  241.    Babbage looks like.
  242.  
  243.         Structured languages banned GOTOs and the multiway conditional
  244.    branches by replacing them with the simpiler If-Then-Else structure.
  245.    Babbage  has a number of  new conditional statements  that act like
  246.    termites in the structures of your program:
  247.  
  248.         What If -
  249.                Used in simulation languages. Branches before
  250.                evaluating test conditions.
  251.  
  252.         Or Else -
  253.                Conditonal threat, as in:
  254.                   "Add these two numbers or else!"
  255.  
  256.         Why Not? -
  257.                Executes the code that follows in a devil-may-care
  258.                fashion.
  259.  
  260.         Who Else? -
  261.                Used for polling during I/O operations.
  262.  
  263.         Elsewhere -
  264.                This is where your program really is when you think
  265.                it's here.
  266.  
  267.         Going Going Gone -
  268.                For writing unstructured programs. Takes a random
  269.                branch to another part of your program.  Does the
  270.                work of 10 GOTOs.
  271.  
  272.         For years, programming languages have used "FOR", "DO UNTIL","
  273.    DO WHILE", etc. to mean "LOOP". Continuing with this trend,
  274.    Babbage offers the following loop statements:
  275.  
  276.         Don't Do While Not -
  277.                This loop is not executed if the test condition is not
  278.                false (or if it's Friday afternoon).
  279.  
  280.         Didn't Do -
  281.                The loop executes onces and hides all traces.
  282.  
  283.         Can't Do -
  284.                The loop is pooped.
  285.  
  286.         Won't Do -
  287.                The CPU halts because it doesn't like the code inside the
  288.                loop. Execution can be resumed by typing  "MAY I"  at the
  289.                console.
  290.  
  291.         Might Do -
  292.                Depends on how the cpu is feeling. executed if the cpu
  293.                is "UP",  not executed if the CPU is "DOWN"  or if its
  294.                feelings have been hurt.
  295.  
  296.         Do Unto Others -
  297.                Used to write the main loop for timesharing systems so that
  298.                they will antagonize the users in a uniform manner.
  299.  
  300.         Do-Wah -
  301.                Used to write timing loop for computer-generated
  302.                music (rag timing).
  303.  
  304.         Every self-respecting structured language has a case statement
  305.    to implement  multiway  brancing.   Algol  offers an  indexed  case
  306.    statement and Pascal has a  labeled case statement.   Not much of a
  307.    choice. Babbage offers a variety of case statements:
  308.  
  309.         The Just-In-Case statement -
  310.                For handling afterthoughts and fudge factors.
  311.                Allows you to multiply by zero to correct for
  312.                accidentally dividing by zero.
  313.  
  314.         The Brief Case statement -
  315.                To encourage portable software.
  316.  
  317.         The Open-And-Shut case statement -
  318.                No proof of correctness is necessary with this one.
  319.  
  320.         The In-Any case statement -
  321.                This one always works.
  322.  
  323.         The Hopeless case statement -
  324.                This one never works.
  325.  
  326.         The Basket case statement -
  327.                A really hopeless case.
  328.  
  329.         The Babbage Language Design Group  is  continuously evaluating
  330.    new features  that will  keep its  users from reaching any level of
  331.    effectiveness.  For instance, Babbage's designers are now consider-
  332.    ing the almost equals sign,   used for comparing two floating point
  333.    numbers. This new feature "Takes the worry out of being close".
  334.  
  335.         No language, no matter how bad, can stand on its own.  We need
  336.    a really  state-of-the-art  operating system  to  support  Babbage.
  337.    After trying  several  commercial systems,   we decided  to write a
  338.    "virtual"   operating  system.   Everybody  has  a  virtual  memory
  339.    operating system so we decided to try something a little different.
  340.    our new  operating  system is  called the  Virtual  Time  Operating
  341.    System (VTOS).   While virtual  memory systems  make the computer's
  342.    memory the  virtual resource,   VTOS  does the same thing with  CPU
  343.    processing time.
  344.  
  345.         The result is that the computer can run an unlimited number of
  346.    jobs at  the  same time.   Like the  virtual memory  system,  which
  347.    actually keeps part of the memory on disk,  VTOS has to play tricks
  348.    to achieve its goals.  Although all of your jobs seem to be running
  349.    right now, some of them are actually running next week.
  350.  
  351.         As you can see, Babbage is still in its infancy.   The babbage
  352.    language design group    seeking  suggestions for this powerful new
  353.    language and as the sole member of this group (all applications for
  354.    membership  will  be  accepted),  I call  on  the  data  processing
  355.    community for help in making this dream a reality.
  356.  
  357.  
  358. ------------------------------------------------------------------------
  359.  
  360.                   "Real Programmers Don't Use PASCAL"
  361.                   ===================================
  362.                                PART II
  363.  
  364.  
  365.                     THE REAL PROGRAMMER AT WORK
  366.                     ---------------------------
  367.  
  368.      Where  does the  typical  Real Programmer  work?   What kind of
  369.   programs are  worthy of the  efforts of so talented an individual?
  370.   You can be  sure that no  Real Programmer  would  be  caught  dead
  371.   writing accounts-receivable programs in COBOL,  or sorting mailing
  372.   lists for People magazine.  A Real Programmer wants tasks of earth
  373.   shaking importance (literally!).
  374.  
  375.      *  Real Programmers work for Los Alamos National Laboratory,
  376.                          writing atomic bomb  simulations  to run
  377.                          on Cray I supercomputers.
  378.  
  379.      *  Real Programmers work for the National Security Agency,
  380.                          decoding Russian transmissions.
  381.  
  382.      *  It was largely due to the efforts of thousands of Real
  383.         Programmers  working for NASA that our boys got to the
  384.         moon and back before the Russkies.
  385.  
  386.      *  Real Programmers are at work for Boeing  designing the
  387.                          operating systems for cruise missiles.
  388.  
  389.      Some of the most awesome  Real Programmers  of all work at the
  390.   Jet Propulsion Laboratory  in California.  Many of them  know the
  391.   entire operating system of the  Pioneer and Voyager spacecraft by
  392.   heart.  With a combination of large ground-based FORTRAN programs
  393.   and small spacecraft-based assembly language programs,   they are
  394.   able to do incredible feats of  navigation  and  improvisation --
  395.   hitting ten-kilometer wide  windows at Saturn after  six years in
  396.   space, repairing  or bypassing damaged sensor platforms,  radios,
  397.   and batteries.  Allegedly,  one Real Programmer managed to tuck a
  398.   pattern-matching  program  into  a  few  hundred  bytes of unused
  399.   memory in a Voyager spacecraft that  searched for,  located,  and
  400.   photographed a new moon of Jupiter.
  401.  
  402.      The  current  plan  for  the  Galileo  spacecraft  is to use a
  403.   gravity assist trajectory past Mars on the way to Jupiter.   This
  404.   trajectory  passes  within  80 +/-3  kilometers of the surface of
  405.   Mars.   Nobody is going to trust a  PASCAL  program  (or a PASCAL
  406.   programmer) for navigation to these tolerances.
  407.  
  408.      As you can tell, many of the world's Real Programmers work for
  409.   the U.S. Government -- mainly the Defense Department.  This is as
  410.   it should be. Recently, however,  a black cloud has formed on the
  411.   Real Programmer horizon.  It seems that some highly placed Quiche
  412.   Eaters  at  the  Defense  Department  decided  that  all  Defense
  413.   programs should be written in some grand unified language  called
  414.  
  415.   "ADA" ((C), DoD).  For a while,   it seemed that ADA was destined
  416.   to become a language that  went against all  the precepts of Real
  417.   Programming -- a language with structure,    a language with data
  418.   types,  strong typing,   and semicolons.   In short,   a language
  419.   designed to cripple the creativity of the typical Real Programmer.
  420.   Fortunately, the language adopted by DoD  has  enough interesting
  421.   features to make it approachable -- it's incredibly complex,  and
  422.   includes methods  for  messing  with  the  operating  system  and
  423.   rearranging memory, and Edsgar Dijkstra doesn't like it. Dijkstra,
  424.   as I'm sure you know, was the author of "GoTos Considered Harmful"
  425.   -- a landmark work in programming methodology, applauded by PASCAL
  426.   programmers and Quiche Eaters alike.
  427.  
  428.      The Real Programmer might compromise his principles and work on
  429.   something slightly more trivial than the destruction of life as we
  430.   know it, providing there's enough money in it.   There are several
  431.   Real Programmers building video games at Atari, for example.  (But
  432.   not  playing  them -- a  Real Programmer  knows  how  to  beat the
  433.   machine every time:  no challenge in that.)    Everyone working at
  434.   LucasFilm is a Real Programmer.  (It  would be  crazy to turn down
  435.   the money of fifty million Star Trek fans.) The proportion of Real
  436.   Programmers in  Computer Graphics is somewhat lower than the norm,
  437.   mostly because nobody  has found  a use for computer graphics yet.
  438.   On the other hand,  all computer graphics is  done in FORTRAN,  so
  439.   there are a fair number of people doing graphics in order to avoid
  440.   having to write COBOL programs.
  441.  
  442.  
  443.                      THE REAL PROGRAMMER AT PLAY
  444.                      ---------------------------
  445.  
  446.      Generally,   the Real Programmer plays the same way he works --
  447.   with computers. He is constantly amazed that his employer actually
  448.   pays him to do what he would be doing for fun anyway  (although he
  449.   is careful not to  express this  opinion out loud).  Occasionally,
  450.   the Real Programmer  does step out  of the office  for a breath of
  451.   fresh  air  and  a  beer  or two.  Some  tips on  recognizing Real
  452.   Programmers away from the computer room:
  453.  
  454.      *  At a party, the Real Programmers are the ones in the corner
  455.         talking  about operating  system  security  and  how to get
  456.         around it.
  457.  
  458.      *  At a football game,  the Real Programmer is the one
  459.         comparing the plays against his simulations printed
  460.         on 11 by 14 fanfold paper.
  461.  
  462.      *  At the beach, the Real Programmer is the one drawing
  463.         flowcharts in the sand.
  464.  
  465.      *  At a funeral, the Real Programmer is the one saying "Poor
  466.         George. And he almost had the sort routine working before
  467.         the coronary."
  468.  
  469.      *  In a grocery store, the Real Programmer is the one who
  470.         insists  on running  the cans past  the laser checkout
  471.         scanner himself, because he never could trust keypunch
  472.         operators to get it right the first time.
  473.  
  474.  
  475.                 THE REAL PROGRAMMER'S NATURAL HABITAT
  476.                 -------------------------------------
  477.  
  478.      What sort of environment does the Real Programmer function best
  479.   in?   This is an  important  question  for  the managers  of  Real
  480.   Programmers. Considering the amount of money it  costs to keep one
  481.   on the staff,  it's best to  put him  (or her)  in an  environment
  482.   where he can get his work done.
  483.  
  484.      The typical Real Programmer lives in front of a computer  term-
  485.   inal. Surrounding this terminal are:
  486.  
  487.      *  Listings of all programs the Real Programmer has ever worked
  488.         on,   piled  in roughly  chronological  order on every  flat
  489.         surface in the office.
  490.  
  491.      *  Some half-dozen or so partly filled cups of cold coffee.
  492.         Occasionally,  there will be cigarette butts floating in
  493.         the coffee. In some cases,  the cups will contain Orange
  494.         Crush.
  495.  
  496.      *  Unless he is very good, there will be copies of the OS JCL
  497.         manual  and  the  Principles  of  Operation  open to  some
  498.         particularly interesting pages.
  499.  
  500.      *  Taped to the wall is a line-printer Snoopy calendar for the
  501.         year 1969.
  502.  
  503.      *  Strewn about the floor are several wrappers for peanut butter
  504.         filled cheese bars -- the type that are made pre-stale at the
  505.         bakery  so they  can't get  any worse  while  waiting  in the
  506.         vending machine.
  507.  
  508.      *  Hiding in the top left-hand drawer of the desk is a stash of
  509.         double-stuff Oreos for special occasions.
  510.  
  511.      *  Underneath the Oreos is a flowcharting template, left there
  512.         by the previous occupant of the office.   (Real Programmers
  513.         write  programs,   not - documentation.   Leave that to the
  514.         maintenance people.)
  515.  
  516.  
  517.      The Real Programmer is capable of working 30, 40, even 50 hours
  518.   at a stretch, under intense pressure.  In fact, he prefers it that
  519.   way.  Bad response time  doesn't bother  the Real Programmer -- it
  520.   gives him a chance to  catch a little sleep  between compiles.  If
  521.   there is not enough schedule pressure on the Real Programmer,   he
  522.   tends to make things more challenging by working on some small but
  523.   interesting part of the problem for the first nine weeks, and then
  524.   finishing  the rest  in the  last  week,    two  or  three 50-hour
  525.   marathons.   This not only  impresses the hell out of his manager,
  526.   who was despairing of ever getting the project done on time,   but
  527.   creates a convenient  excuse for not  doing the documentation.  In
  528.   general:
  529.  
  530.      *  No Real Programmer works 9 to 5 (unless it's the ones at
  531.         night).
  532.  
  533.      *  Real Programmers don't wear neckties.
  534.  
  535.      *  Real Programmers don't wear high-heeled shoes.
  536.  
  537.      *  Real Programmers arrive at work in time for lunch.
  538.  
  539.      *  A Real Programmer might or might not know his wife's name.
  540.         He does, however, know the entire ASCII  (or EBCDIC)  code
  541.         table.
  542.  
  543.      *  Real Programmers don't know how to cook.  Grocery stores
  544.         aren't  open at three  in the morning.  Real Programmers
  545.         survive on Twinkies and coffee.
  546.  
  547.  
  548.                            THE FUTURE
  549.                            ----------
  550.  
  551.      What of  the future?  It is a  matter of  some concern  to Real
  552.   Programmers that the latest generation of computer programmers are
  553.   not being brought up with the same outlook on life as their elders.
  554.   Many of them have never seen a computer with a front panel. Hardly
  555.   anyone  graduating  from school  these days  can do hex arithmetic
  556.   without a  calculator.  College graduates  these days  are soft --
  557.   protected  from  the  realities  of  programming  by  source level
  558.   debuggers, text editors that count parentheses, and "user friendly"
  559.   operating systems. Worst of all,  some of these alleged  "computer
  560.   scientists"  manage to get  degrees without ever learning FORTRAN!
  561.   Are we destined to become an industry of  Unix hackers  and PASCAL
  562.   programmers?
  563.  
  564.      From my experience, I can only report that the future is bright
  565.   for Real Programmers everywhere.   Neither OS\370 nor FORTRAN show
  566.   any signs of dying out, despite all the efforts of PASCAL program-
  567.   mers the world over.  Even more subtle tricks,  like adding struc-
  568.   tured coding constructs to  FORTRAN  have failed.   Oh sure,  some
  569.   computer  vendors have  come out with  FORTRAN 77  compilers,  but
  570.   every  one  of them  has a way  of  converting  itself back into a
  571.   FORTRAN 66 compiler at the drop of an option card -- to compile DO
  572.   loops like God meant them to be.
  573.  
  574.      Even Unix might not be  as bad on  Real Programmers  as it once
  575.   was.  The latest release of Unix has the potential of an operating
  576.   system worthy of any  Real Programmer -- two  different and subtly
  577.   incompatible  user interfaces, an  arcane and complicated teletype
  578.   driver,   virtual memory.   If  you  ignore  the  fact  that  it's
  579.   "structured",  even 'C' programming can be appreciated by the Real
  580.   Programmer:  after all,  there's no type checking,  variable names
  581.   are seven  (ten? eight?)  characters long,  and the added bonus of
  582.   the Pointer data type  is thrown in -- like  having the best parts
  583.   of  FORTRAN  and assembly language  in one place.  (Not to mention
  584.   some of the more creative uses for #define.)
  585.  
  586.      No, the future isn't all that bad.   Why, in the past few years
  587.   the popular  press has  even commented  on the bright  new crop of
  588.   computer nerds and hackers leaving places like Stanford and M.I.T.
  589.   for  the  Real World.   From  all evidence,   the  spirit of  Real
  590.   Programming  lives on  in these  young men  and women.  As long as
  591.  
  592.   there  are  ill-defined  goals,   bizarre bugs,   and  unrealistic
  593.   schedules,   there will be Real Programmers willing to jump in and
  594.   and Solve The Problem, saving the documentation for later.    Long
  595.   live FORTRAN!
  596.  
  597.  
  598.                            ACKNOWLEGEMENT
  599.                            --------------
  600.  
  601.      I would like to thank Jan E.,  Dave S.,  Rich G.,  Rich E., for
  602.   their help in characterizing the Real Programmer,  Heather B.  for
  603.   the illustration, Kathy E. for putting up with it,  and atd!avsdS:
  604.   mark for the initial inspiration.
  605.  
  606.  
  607.                              REFERENCES
  608.                              ----------
  609.  
  610.            Feirstein, B., "Real Men  don't  Eat  Quiche",  New
  611.            York, Pocket Books, 1982.
  612.  
  613.            Wirth,  N.,  "Algorithms  +   Data   Structures   =
  614.            Programs", Prentice Hall, 1976.
  615.  
  616.            Ilson, R., "Recent Research  in  Text  Processing",
  617.            IEEE  Trans.   Prof.  Commun., Vol.  PC-23, No.  4,
  618.            Dec.  4, 1980.
  619.  
  620.            Finseth, C., "Theory and Practice of  Text  Editors
  621.            -- or -- a Cookbook for  an  EMACS",  B.S.  Thesis,
  622.            MIT/LCS/TM-165,    Massachusetts    Institute    of
  623.            Technology, May 1980.
  624.  
  625.            Weinberg,   G.,   "The   Psychology   of   Computer
  626.            Programming",  New  York,  Van  Nostrand  Reinhold,
  627.            1971, p.  110.
  628.  
  629.            Dijkstra, E., "On the GREEN language  submitted  to
  630.            the  DoD",  Sigplan  notices,  Vol. 3  No.  10, Oct
  631.            1978.
  632.  
  633.            Rose, Frank, "Joy of Hacking", Science 82, Vol.   3
  634.            No.  9, Nov 82, pp.  58-66.
  635.  
  636.            "The Hacker Papers", Psychology Today, August 1980.
  637.  
  638.            sdcarl!lin, "Real Programmers", UUCP-net,  Thu  Oct
  639.            21 16:55:16 1982
  640.  
  641.  
  642. ------------------------------------------------------------------------
  643.  
  644.               A long time ago, on a node far, far away (from ucbvax)
  645.               a great Adventure (game?) took place...
  646.  
  647.         XXXXX   XXXXXX   XXXX        X    X    XX    XXXXX    XXXX    X
  648.         X    X  X       X    X       X    X   X  X   X    X  X    X   X
  649.         X    X  XXXXX   X            X    X  X    X  X    X   XXXX    X
  650.         X    X  X       X            X XX X  XXXXXX  XXXXX        X   X
  651.         X    X  X       X    X       XX  XX  X    X  X   X   X    X
  652.         XXXXX   XXXXXX   XXXX        X    X  X    X  X    X   XXXX    X
  653.  
  654.             It is a period of system war.  User programs striking from
  655.          a hidden directory,  have won their first victory against the
  656.          evil Administrative Empire.  During  the battle,   User spies
  657.          managed to steal secret source code to the Empire's  ultimate
  658.          program:  The  Are-Em Star,  a privileged root  program  with
  659.          enough power to  destroy  an entire file  structure.  Pursued
  660.          by the Empire's sinister audit trail,   Princess Linker races
  661.          aboard her  shell script,  custodian  of the  stolen listings
  662.          that could save her people,  and restore freedom and games to
  663.          the network...
  664.  
  665.          -------------------------------------------------------------
  666.  
  667.             THE CONTINUING SAGA OF THE ADVENTURES OF LUKE VAXHACKER
  668.  
  669.  
  670.             When we had last left Luke,  the Milliamp Falcon was being
  671.          pulled down to the open  collector of the  Imperial Arem Star
  672.          Workstation.    Dec  Vadic  surveys  the  relic  as  Imperial
  673.          Flunkies search for passengers...
  674.  
  675.             "LS scan shows no one aboard, sir," was the report.  Vadic
  676.          was  unconvinced.  "Send a  fully  equipped  Ncheck squad  on
  677.          board," he said. "I want every inode checked out."  He turned
  678.          around  (secondary channel)  and  stalked  off.  On board the
  679.          Milliamp Falcon,  .Luke  was puzzled.  "They  just walked in,
  680.          looked around and walked off," he said.  "Why didn't they see
  681.          us?" .Con smiled. "An old munchkin trick," he explained. "See
  682.          that period in front of your name?"  .Luke spun around,  just
  683.          in time to see the decimal point.   "Where'd that come from?"
  684.          he asked.  "Spare decimal  points  lying around from the last
  685.          time I fixed the  floating  point  accelerator,"  said  .Con.
  686.          "Handy for smuggling  blocks  accross file system boundaries,
  687.          but I never thought I'd have to use them on myself.  They are
  688.          not going to be fooled for long, though.   We'd better figure
  689.          a way outa here."
  690.  
  691.          -------------------------------------------------------------
  692.  
  693.             <<  At this point (.) the dialogue tends to wedge.   Being
  694.          the editor and in total control of the situation,  I think it
  695.          would be best if we sort of  "gronk" the next few paragraphs.
  696.          For those who care,  our heroes find themselves in a terminal
  697.          room of the Workstation,  having thrashed several Flunkies to
  698.          get there.  For the rest of you, just keep banging the  rocks
  699.          together, guys. --Ed.  >>
  700.  
  701.          -------------------------------------------------------------
  702.  
  703.             "Hold on," said Con. "It says we have `new mail.'  Is that
  704.          an error?"  "%SYS-W-NORMAL,  Normal,  successful completion,"
  705.          said PDP-1.  "Doesn't look like it.  I've found the inode for
  706.          the Milliamp Falcon.  It's locked in kernel data space.  I'll
  707.          have to slip  in and patch the  reference count,  alone."  He
  708.          disappeared through a nearby entry point.
  709.  
  710.             Meanwhile,  RS232  found a serial port and logged in.  His
  711.          bell  started  ringing  loudly. "He keeps saying,   'She's on
  712.          line, she's on line',"  said  3CPU.  "I believe that he means
  713.          Princess LPA0:.   She is being  held on one of the privileged
  714.          levels."
  715.  
  716.          -------------------------------------------------------------
  717.  
  718.             << Once again, things get sticky, and the dialogue suffers
  719.          the most damage.   After much handwaving and general flaming,
  720.          they  agreed to  rescue her.   They headed for  the detention
  721.          level,  posing as Flunkies   (which is hard for most hackers)
  722.          claiming that they had finally trapped the  Bookie  executing
  723.          an illegal racket.  They reached the block where the Princess
  724.          was locked up and found only two guards in the header. -Ed.>>
  725.  
  726.          -------------------------------------------------------------
  727.  
  728.             "Good day, eh?"   said the first guard.  "How is it goin',
  729.          eh?"  said the other.  "Like,   what's that,   eh?"  "Process
  730.          transfer from block 1138, dev 10/9,"  said Con. "Take off, it
  731.          is not," said the first guard.  "Nobody told US about it, and
  732.          we're not morons, eh?"
  733.  
  734.             At this point (.),  the Bookie started raving wildly,  Con
  735.          shouted "Look out, he's loose!" and they all started blasting
  736.          ROMs left and right.  The guards started to catch on and were
  737.          about to  issue a general  wakeup  when the ROM blasters were
  738.          turned on them. "Quickly, now," said Con. "What buffer is she
  739.          in?  It's not going to take long for these..."
  740.  
  741.             The intercom receiver interrupted him,  so he took out its
  742.          firmware with a short blast. "guys to figure out something is
  743.          goin' on," he continued.
  744.  
  745.          -------------------------------------------------------------
  746.  
  747.           Will they or won't they end up in the galactic bit-bucket?
  748.           Catch the next issue of Nutworks and find out. --Ed
  749.  
  750.          -------------------------------------------------------------
  751.  
  752.  
  753. ------------------------------------------------------------------------
  754.  
  755.                       OP CODES PART III (R - Z)
  756.                       =========================
  757.                 (Contributed By Knappy 8350428 @ UWAVM)
  758.  
  759.     mnemonic      meaning
  760.     --------      -------
  761.     RA            Randomize Answer
  762.     RAM           Reorganize and Abort Monitor
  763.     RASC          Read And Shred Card
  764.     RAST          Rewind And Stretch Tape
  765.     RAU           Ridicule All Users
  766.     RBAO          Ring Bell and Annoy Operator
  767.     RBG           Random Bug Generate
  768.     RBLY          Restore Backup from Last Year
  769.     RBT           Read & Break Tape
  770.     RCAJ          Read Card And Jam
  771.     RCB           Read Commands Backwards
  772.     RCB           Run Clock Backwards
  773.     RCC           Read Card and Chew
  774.     RCCP          Randomly Corrupt Current Process
  775.     RCF           Rewind Cabinet Fans
  776.     RCKG          Read Count Key and Garbage
  777.     RCR           Rewind Card Reader
  778.     RCRV          Randomly Convert to Reverse Video
  779.     RCSD          Read Card & Scramble Data
  780.     RD            Rewind Disk
  781.     RDA           Refuse to Disclose Answer
  782.     RDD           Reverse Disk Drive
  783.     RDF           Randomize Directory Filenames
  784.     RDI           Reverse Drum Immediate
  785.     RENVR         Rename Variables Randomly
  786.     RET           Read and Erase Tape
  787.     RIC           Rotate Illogical thru Carry
  788.     RID           Read Invalid Data
  789.     RIR           Read Invalid Record
  790.     RIRG          Read Inter-Record Gap
  791.     RIRG          Rewrite Inter-Record Gap [random replacement of simil-
  792.                    ar mnemonic"
  793.     RLC           Re-read last card
  794.     RLC           Relocate and Lose Core
  795.     RLI           Rotate Left Indefinitely
  796.     RLP           Refill Light Pen
  797.     RLP           Rewind Line Printer
  798.     RM            Re-initialize Meter
  799.     RM            Ruin My files [UNIX]
  800.     RMI           Randomize Memory Immediate
  801.     RMV           Remove Memory Virtues
  802.     RN            Read Noise
  803.     RNBS          Reflect Next Bus Signal
  804.     RNR           Read Noise Record
  805.     ROD           ROtate Diagonally
  806.     ROM           Read Operator's Mind
  807.     ROOP          Run Out Of Paper
  808.     ROPF          Read Other People's Files
  809.     ROS           Reject Op System
  810.     ROT           Rotate Disk [fixes broken drives]
  811.     RP            Read Printer
  812.     RPAB          Read Print And Blush
  813.     RPB           Raise Parity Bits
  814.     RPB           Reverse Parity & Branch
  815.     RPD           Return Postage Due
  816.     RPM           Read Programmer's Mind
  817.     RPU           Read character and Print Upside down
  818.     RRB           Read Record and Blush
  819.     RRC           Rotate Random thru Carry
  820.     RRRA          Read Record & Run Away
  821.     RRRL          Random Rotate Register Left
  822.     RRSG          Round and Round She Goes...
  823.     RS            Random Slew
  824.     RSD           Read and Scramble Data
  825.     RST           Rewind and Stretch Tape
  826.     RST           Rust
  827.     RT            Reduce Throughput
  828.     RT            Reverse Throughput
  829.     RTR           Return To Register
  830.     RTS           Return To Sender
  831.     RWRT          Read While Writing While Ripping Tape
  832.     SAC           stop air conditioner
  833.     SAD           Seek And Destroy
  834.     SAF           Sit And Flicker
  835.     SAI           Skip All Instructions
  836.     SAS           Sit And Spin
  837.     SC            Scramble Channels
  838.     SC            Shred Cards
  839.     SCB           Spindle Card and Belch
  840.     SCCA          Short Circuit on Correct Answer
  841.     SCH           Slit Cards Horizontal
  842.     SCI           Shred Cards Immediate
  843.     SCOM          Set Cobol-Only Mode
  844.     SCRRC         SCRamble Register Contents
  845.     SCST          Switch Channel to Star Trek
  846.     SCTR          Stick Card To Reader
  847.     SD            Scramble Directory
  848.     SD            Slip Disk
  849.     SDC           Spool Disk to Console
  850.     SDDB          Snap Disk Drive Belt
  851.     SDE           Solve Differential Equations
  852.     SDI           Self Destruct Immediately
  853.     SEB           Stop Eating and Burp
  854.     SEX           Set EXecution register [a real instruction for the RCA
  855.                    1802"
  856.     SEX           Sign EXtend
  857.     SFH           Set Flags to Half mast
  858.     SFT           Stall For Time
  859.     SFTT          Strip Form Tractor Teeth
  860.     SHB           Stop and Hang Bus
  861.     SHCD          SHuffle Card Deck
  862.     SHIT          Stop Here If Thursday
  863.     SHON          Simulate HONeywell CPU [permanent NO-OP]
  864.     SHRC          SHRed Card
  865.     SHRT          SHRed Tape
  866.     SID           Switch to Infinite Density
  867.     SIP           Store indefinite precision
  868.     SKIP          don't SKIP
  869.     SLD           Slip Disk
  870.     SLP           Sharpen Light Pen
  871.     SLP           Sharpen Light Pencil
  872.     SMC           Scramble memory contents
  873.     SMD           Spontaneous Memory Dump(Use only with classified data)
  874.     SMS           Shred Mylar Surface
  875.     SMT           Stretch MagTape
  876.     SNM           Show No Mercy
  877.     SOAWP         SOlve All the World's Problems
  878.     SOB           [a real PDP-11 instruction]
  879.     SOD           Surrender Or Die!
  880.     SOP           Stop and Order Pizza
  881.     SOS           Sign Off, Stupid
  882.     SP            Scatter Print
  883.     SPA           Sliding Point Arithmetic
  884.     SPD           Spin dry disc
  885.     SPS           Smoke Power Supply
  886.     SPSW          Scramble Processor Status Word
  887.     SRBO          Set Random Bits to Ones
  888.     SRBZ          Set Random Bits to Zeroes
  889.     SRC           Skip to Random Channel
  890.     SRCC          Select Reader & Chew Cards
  891.     SRD           Switch to Random Density
  892.     SRDR          Shift Right, Double Ridiculous
  893.     SRO           Sort with Random Ordering
  894.     SRR           Set Registers to Random values [ usually used prior to
  895.                    a RET or RTS"
  896.     SRR           Shift Registers Random
  897.     SRSD          Seek Record & Scar Disk
  898.     SRU           Signoff Random User
  899.     SRZ           Subtract & Reset to Zero
  900.     SSB           Scramble Status Byte
  901.     SSD           Stacker Select Disk
  902.     SSJ           Stacker Select & Jam
  903.     SSJP          Select Stacker and Jump
  904.     SSM           Solve by Supernatural Means
  905.     SSP           Smoke and SPark
  906.     SST           Stop and Stretch Tape
  907.     ST            Set and Test
  908.     STD           Stop, Take Drugs
  909.     STN           Search Tree for Nut
  910.     STPR          SToP Rain
  911.     STTHB         Set Terminal to Three Hundred Baud
  912.     SU            Stacker Upset
  913.     SUI           Subtract User's IQ
  914.     SUME          SUrprise ME
  915.     SUP           Solve Unsolvable Problem
  916.     SUR           Screw Up Royally
  917.     SUS           Stop Until Spring
  918.     SUS           Subract Until Senseless
  919.     SWAT          SWAp Terminals
  920.     SWN           SWap Nibbles
  921.     SWOS          SWap out Operating System
  922.     SWS           Sort to Wrong Slots
  923.     SZD           Switch to Zero Density
  924.     TARC          Take Arithmetic Review Course
  925.     TBFTG         Two Burgers and Fries To Go
  926.     TDB           Transfer & Drop Bits
  927.     TDB           Transfer and Drop Bits
  928.     TDS           Trash Data Segment
  929.     TEP           Terminate with Extreme Prejudice
  930.     TLNF          Teach me a Lesson I'll Never Forget
  931.     TLO           Turn indicator Lights Off
  932.     TLR           Transfer & Loose Return
  933.     TLW           Transfer and Lose Way
  934.     TN            Take a Nap
  935.     TOG           Time Out, Graduate
  936.     TOH           Take Operator Hostage
  937.     TOOO          Turn On/Off Operator
  938.     TOS           Trash Operating System
  939.     TPD           Triple Pack Decimal
  940.     TPE           Translate Programmer to EBCDIC
  941.     TPDH          Tell Programmer to Do it Him/Herself
  942.     TPO           Toggle Power On
  943.     TPR           Tear PapeR
  944.     TR            Turn into Rubbish [UNIX]
  945.     TRA           Te Rdls Arvs [Type Ridiculous Abbreviations]
  946.     TSH           Trap Secretary and Halt
  947.     TSM           Trap Secretary and Mount
  948.     TST           Trash System Tracks
  949.     TT%CNK        TeleType - Clunk Noise
  950.     TT%EKB        TeleType - Electrify KeyBoard
  951.     TTA           Try, Try Again
  952.     TTITT         Turn 2400 foot tape  Into  Two 1200 foot  tapes " Only
  953.                    privileged users will get hubs on both tapes"
  954.     TTL           Time To Log off
  955.     UAI           Use Alternate Instruction set
  956.     UCB           Uncouple CPU and Branch
  957.     UCK           Unlock Console Keyswitch
  958.     UCPUB         Uncouple CPU & Branch
  959.     UER           Update & Erase Record
  960.     UMR           Unlock Machine Room
  961.     UNPD          Unplug and dump
  962.     UOP           Useless Operation
  963.     UP            Understand Program(mer)
  964.     UT            Update Transaction
  965.     UTF           Unwind Tape onto Floor
  966.     UUBR          Use Undefined Base Register
  967.     VAX           Violate All executions
  968.     VNO           Violate Noise Ordinance
  969.     VPA           Vanishing Point Arithmetic
  970.     VVM           Vaporise Virtual Memory
  971.     WAD           Walk Away in Disgust
  972.     WC            Waste Core [UNIX]
  973.     WCR           Write to Card Reader
  974.     WGPB          Write Garbage in Process-control Block
  975.     WHP           Wave Hands over Problem
  976.     WI            Why Immediate
  977.     WID           Write Invalid Data
  978.     WLBB          Write-Lock Bit Bucket
  979.     WNHR          Write New Hit Record
  980.     WNR           Write Noise Record
  981.     WPET          Write Past End of Tape
  982.     WSE           Write Stack Everywhere
  983.     WSWW          Work in Strange and Wondrous Ways
  984.     WUPO          Wad Up Printer Output
  985.     WWLR          Write Wrong Length Record
  986.     XIO           eXecute Invalid Op code
  987.     XKF           eXecute Kermit the Frog
  988.     XMB           eXclusive MayBe
  989.     XOH           eXecute no-Op and Hang
  990.     XOR           eXecute OperatoR
  991.     XOS           eXchange Operator's Sex
  992.     XPR           eXecute Programmer
  993.     XPSW          eXecute Program Status Word
  994.     XVF           eXchange Virtue for Fun
  995.     ZAP           Zero and Add Packed
  996.     ZD            Zap Directory
  997.     ZNL           Zero Next Location (opcode #0)
  998.     ZPI           ZaP Immediate
  999.     ZPT           Zero Page Tables
  1000.     ZZF           Zero Zero Flag
  1001.     ZZZ           hibernate indefinite
  1002. ------------------------------------------------------------------------
  1003. RECEIVE> RECEIVE> type *.issue009
  1004.  
  1005.   ******** NUTWORKS.ISSUE009;13 ********
  1006.  
  1007. ------------------------------------------------------------------------
  1008.  
  1009.     When Joan Rivers cancelled her "Tonight Show" monologue on the
  1010. evening of January 28, it was because joviality and laughter seemed
  1011. so inappropriate in the shadow of the Space Shuttle disaster.  That
  1012. day, the world did not laugh; it wept and prayed for the astronauts
  1013. who were lost, and it mourned with their families.
  1014.  
  1015.     There is little to be said here.
  1016.  
  1017. (Note: The following paragraph is outdated.)
  1018.  
  1019.     The staff of NutWorks urges you to contact Csnews at Maine and
  1020. join in the Network-wide effort to compile a sympathy card which will
  1021. be sent to the families of Challenger's astronauts.  Files should
  1022. be sent to CSNEWS@MAINE.BITNET.  The TOP line of the file should read:
  1023.  
  1024. /APPEND CARD
  1025.  
  1026. ... and the file should have a filetype of CSNOTICE or CSN.
  1027.  
  1028. There are no other requirements.  Please respond before March 1, 1986.
  1029.  
  1030. Thank you for reading this.
  1031.  
  1032. ------------------------------------------------------------------------
  1033.